package jmine.tec.web.wicket.component.report;

import jmine.tec.report.impl.table.CellValueResolver;

import org.apache.wicket.Component;

/**
 * Interface que define um {@link CellValueResolver} que rederiza um objeto na forma de componente.
 * 
 * @author Rafael Volpato
 * @date Dec 28, 2011
 * @param <V> tipo do objeto
 */
public interface ComponentValueResolver<V> extends CellValueResolver<V> {

    /**
     * Cria o componente que deve ser adicionado na celula da tabela.
     * 
     * @param componentId componentId
     * @param value objeto
     * @return o componente que deve ser adicionado na celula da tabela
     */
    Component createComponents(String componentId, V value);
}
